//
// Created by hkkzzxz on 24-9-1.
//

#ifndef YUNSHI_ADMINCONTROLLER_H
#define YUNSHI_ADMINCONTROLLER_H

// 管理员策略类

#include "BaseController.h"


class AdminController : public BaseController {
public:
    // 添加员工
    void addEmployee(std::string &data, http::request<http::dynamic_body> &httpRequest,
                     http::response<http::dynamic_body> &httpResponse);

    // 设置全部考勤规则
    void setAllAttendanceRules(std::string &data, http::request<http::dynamic_body> &httpRequest,
                               http::response<http::dynamic_body> &httpResponse);

    // 设置单人考勤规则
    void setAttendanceRules(std::string &data, http::request<http::dynamic_body> &httpRequest,
                            http::response<http::dynamic_body> &httpResponse);

    // 删除员工
    void deleteEmployee(std::string &data, http::request<http::dynamic_body> &httpRequest,
                        http::response<http::dynamic_body> &httpResponse);

    // 查看所有员工考勤规则
    void checkAttendanceRules(std::string &data, http::request<http::dynamic_body> &httpRequest,
                              http::response<http::dynamic_body> &httpResponse);

    // 查询所有员工信息
    void employeeInformation(std::string &data, http::request<http::dynamic_body> &httpRequest,
                             http::response<http::dynamic_body> &httpResponse);

    // 查询所有员工考勤情况
    void checkAttendance(std::string &data, http::request<http::dynamic_body> &httpRequest,
                         http::response<http::dynamic_body> &httpResponse);

    // 导出考勤数据
    void exportReport(std::string &data, http::request<http::dynamic_body> &httpRequest,
                      http::response<http::dynamic_body> &httpResponse);

    // 同步（替换）考勤数据
    void synchronizeData(std::string &data, http::request<http::dynamic_body> &httpRequest,
                         http::response<http::dynamic_body> &httpResponse);
};


#endif //YUNSHI_ADMINCONTROLLER_H
